Automatic Memory Management for a Home Transcoding Device

ABSTRACT

A content moving device which enables providing content stored on a first user device, such as a DVR, in a first format and resolution to be provided to a second user device, such as a portable media player (PMP) in a second format and resolution. The content moving device identifies content on the first user device as candidate content which may be desired by the PMP and assigns a priority level to the content. The content moving device transcodes the candidate content in order of highest priority first and lowest priority last. The content moving device may also use the priority level to manage deletion of the transcoded content from the storage on the content moving device. The lowest priority level content may be deleted first as storage space is needed.

This application claims the benefit of U.S. Provisional Application 61/317,264 filed on Mar. 24, 2010, and the benefit of U.S. Provisional Application 61/317,262 filed on Mar. 24, 2010, both of which are herein incorporated by reference in their entirety. This application is related to attorney docket number BCS06314, titled MOVING CONTENT BETWEEN SET TOP BOX AND END DEVICES IN HOME, filed Mar. 24, 2011, herein incorporated by reference in its entirety.

FIELD OF INVENTION

The invention relates to a content management device, and more particularly toward a management of a transcoding and storage device.

BACKGROUND

Consumers receive content in various forms using several different devices. For example, consumers may receive video content, e.g. television programs and movie, or audio content, e.g. music, through a set top box (STB) connected to a service provider network. The content may be stored on a digital video recoding (DVR) device at the request of the user, and retained on the DVR for an indefinite period of time, e.g. until deleted by the user. The STB is typically connected to a television device which displays the video content or plays the audio content to the consumer. The typical television device is a non-portable stationary unit inside a household.

Many consumers wish to view his/her content stored on their home DVR on the go, on his/her mobile device, whenever he wishes. Unfortunately, most mobile devices cannot process content that is high definition (HD, e.g. 720p, 1080i, 1080p) or even standard definition (SD, e.g. 480i) resolution, which is the common resolution for the DVR. Further, DVR content is often received and stored as MPEG2 (Motion Picture Experts Group) transport streams, while most mobile devices are configured to pay MPEG4 (AVC/H.264) file oriented content. Most DVR audio is coded as Audio Codec 3 (AC-3) format, while most mobile devices play the Advanced Audio Coding (AAC) format. Somehow, the consumer's intention must be met, despite these mismatches.

The content may be converted (transcoding) the content from the format and coding on the DVR to the desired format of the consumer's mobile device. However, transcoding of this sort takes time, in fact, often almost as much time as it would take to play the content. Most consumers do not have the patience to wait, for example, nearly 90 minutes to get programs transferred to his/her mobile devices. It would be desirable for the consumer to be able to see the content choices available for transfer to their portable media player (PMP), including a mobile phone or smart phone, make a quick decision for transfer, quickly receive and be able to access the content without significant waiting periods.

SUMMARY OF INVENTION

In accordance with the principles of the invention, an apparatus for moving content from a first user device to a second user device, may comprise: a first device interface configured to receive content in a first format from the first user device; a device manager configured to assign a priority level to a candidate content; a transcoder configured to transcode candidate content by decoding the candidate content in the first format as decoded content and encoding the decoded content into a second format compatible with the second user device as transcoded content; a storage unit which stores the transcoded content; and a second device interface configured to provide transcoded content to the second device, wherein the candidate content is transcoded prior to other candidate content based on the assigned priority level of the candidate content.

In accordance with the principles of the invention, a method for moving content from a first user device to a second user device using a content moving device, may comprise the steps of: the content moving device assigning a priority level to candidate content on the first user device in a first format to be moved to the second user device; receiving the candidate content from the first device; transcoding the candidate content by decoding the candidate content in the first format as decoded content and encoding the decoded content into a second format compatible with the second user device as transcoded content; storing the transcoded content in a storage associated with the content moving device; wherein the candidate content is transcoded prior to other candidate content based on the assigned priority level of the candidate content.

In accordance with the principles of the invention, a non-transitory computer readable medium may carry instructions for a computer to perform a method for moving content from a first user device to a second user device using a content moving device, comprising the steps of: the content moving device assigning a priority level to candidate content on the first user device in a first format to be moved to the second user device; receiving the candidate content from the first device; transcoding the candidate content by decoding the candidate content in the first format as decoded content and encoding the decoded content into a second format compatible with the second user device as transcoded content; storing the transcoded content in a storage associated with the content moving device; wherein the candidate content is transcoded prior to other candidate content based on the assigned priority level of the candidate content.

The priority level may be assigned based on user input. The user input may include user selection of the candidate content through a user interface, the user interface including one of, a web page, a computer interface, television remote, a portable media player, touch screen display, keypad or pointer device. The priority level may be assigned based on rights management rules associated with the candidate content. The priority level may be assigned based on a type of content of the candidate content, the type of content including genre or content series. The priority level assigned based on a type of content may be assigned based on user selection of transcoded content to be transferred to the second device. The priority level may be assigned based on a rating associated with the candidate content. The first device may include a plurality of storage devices, and the priority level is assigned based on the amount of time the candidate content has been stored relative to other content stored on any storage device of the plurality of storage devices. The transcoded content may be deleted from the storage unit based on one or more of: the assigned priority level, an amount of time the transcoded content has been stored, an amount of time the candidate content has been stored, or settings in the first device.

The content mover device enables a user to conveniently and efficiently move user recorded content from one user device (e.g. a DVR) to another user device (e.g. PMP). The content mover device performs the often time consuming and computationally intensive task of transcoding content stored on the first device in a first format into a second format usable by the second device. The transcoding operation may be performed automatically independent of a request for the content by the PMP. The content mover device may efficiently manage memory space to be able to provide desired content to the user.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 illustrates an exemplary home network arrangement using a content moving device in accordance with the principles of the invention.

FIG. 2 illustrates an alternate arrangement for a home network using a content mover device in accordance with the principles of the invention.

FIG. 3 illustrates an exemplary architecture of a content mover device 7 in accordance with the principles of the invention.

FIG. 4 illustrates an exemplary architecture for a host module 21 contained in STB 2 for interacting with content mover device 7 in accordance with the principles of the invention.

FIG. 5 illustrates an exemplary architecture for a portable device in accordance with the principles of the invention.

FIG. 6 illustrates an exemplary process for moving content from a DVR 2 to the content mover device 7 in accordance with the principles of the invention.

FIG. 7 illustrates a process for transferring content from the content mover device 7 to a PMP in accordance with the principles of the invention.

FIG. 8 illustrates an exemplary display on a PMP for content selection.

FIG. 9 illustrates an exemplary display of content details on a PMP.

FIG. 10 illustrates a down load queue on the PMP 6.

DETAILED DESCRIPTION

For simplicity and illustrative purposes, the present invention is described by referring mainly to exemplary embodiments thereof. In the following description, numerous specific details are set forth to provide a thorough understanding of the present invention. However, it will be apparent to one of ordinary skill in the art that the present invention may be practiced without limitation to these specific details. In other instances, well known methods and structures have not been described in detail to avoid unnecessarily obscuring the present invention.

FIG. 1 illustrates an exemplary home network arrangement using a content moving device in accordance with the principles of the invention. The content moving device described herein may be an accessory that is placed between the consumer's DVR and his mobile devices, as illustrated in FIG. 1. It transcodes, that is, converts, the format mismatches for video and audio and the transport packaging. In a preferred implementation, the mover performs this function with minimal disruption to the consumer.

The content moving device may be connected to the DVR on a permanent basis, by Ethernet or some similar home network technology, such as a Media over Coax Alliance (MoCA) standard, e.g. MoCA MAC/PHY v 1.0. Thus the content moving device can do what the mobile device cannot—always be present and connected. Thus the Content moving device can transcode at its somewhat slow pace in the background, building a store of program files compatible to the mobile devices. The Content moving device storage may be viewed as a mirror of the DVR content, (e.g. being an exact duplicate of content stored if possible). If this is achieved, the consumer can check for available recordings, and then transfer them to the mobile device, with the transfer limited only by his home network. In this fashion, the consumer's intent can be supported. The Content moving device may be an “invisible” device, with no direct user interaction required, and possibly not even any out-of-box set up at all. An Ethernet connected Content moving device typically requires no mandatory set up, while a WiFi connected Content moving device may require a Service Set Identifier (SSID) and key. The moving device may provide for full automation of the content transcoding and transfer.

The consumer already has learned how to interact with his DVR to schedule recordings and view content, and he has also learned to use his portable device. Learning another mandatory User Interface on the content mover device may not be highly desirable for some users. For that user it is optimal to have him interact solely through the end device and perhaps the DVR, to accomplish his on-the-road needs for content.

The content moving device may check for new content recordings and new DVR deletions on a regular basis. Any change in the DVR may be mirrored in the content moving device's own memory. The content moving device may handle all the details of copy management, and obey the digital rights associated with the DVR recording, such as obeying copy once restrictions of the original broadcast program, obeying copy once restrictions for example.

While mirroring the DRV recordings on the content moving device may be desirable, for cost reasons, it may not be possible to mirror the entire contents of the DVR. For example, a 250 GB DVR storing 10 Mbps HD programs could be mirrored by a content moving device with only 25 GB of flash memory, assuming the content moving device targets a 1 Mbps average “baseline profile” MPEG4 coded rate for half VGA mobile content. This content looks excellent on a portable video player, such as the iTouch or Droid smart phone, with approximately 4 inch screens. However, if the consumer stores SD recordings, which are received at a lower bit rate, many more fit on a DVR than may be stored on the content mover device even at a transcoded lower rate. The content moving device may be able to compensate somewhat by transcoding SD programs to quarter VGA, to avoid the interlace artifacts that might occur. However, if the consumer uses a larger STB/DVR or attaches additional memory to the STB/DVR, e.g. a 1 TeraByte extender hard drive to his eSATA port, the content mover device may still not have enough storage space. For all these reasons, the content moving device may need to implement an intelligent memory management scheme in order to remain fully automatic. Note that a Content moving device can also be designed with an internal hard drive, or Network Attached Storage, to reduce the likelihood of insufficient memory. However, the combination of cost and reliability often make it desirable to support flash memory in 16 GB or 32 GB sizes. Note that an internal hard drive also often brings additional weight, power, susceptibility to damage, and heat concerns.

FIG. 1 illustrates an exemplary home network arrangement using a content moving device in accordance with the principles of the invention. As shown in FIG. 1, a user household 1 may include one or more STBs 2 with a DVR integrated therein or separately attached. An external storage device 3 may also be used with STB 2 to store additional content. While multiple STBs 2 are illustrated, a single one may be present or only one may have a DVR while other STB may not include a DVR. The STB receives communications over a communication carrier 1, such as a coaxial cable, optical fiber or wireless communication carrier.

The communications may include video, audio/video (e.g. television programs or movies), audio information, data, and STB control and signaling information. The communications may be a provider network, which may charge for providing communication and content services to the user. The communications may be bi-directional, e.g. downstream from the service provider and upstream from the STB. Typical provider networks include over the air free broadcasts, cable television networks (including optical fiber networks, hybrid fiber coax (HFC) networks, etc.), or satellite television networks. STB 2 preferably received content through the network and provides the content to television (not shown) for display to a user. STB 3 may also record content selected by a user on its associated DVR.

In an exemplary arrangement as illustrated in FIG. 1, a modem 4 may also receive communications through communication carrier 1. Alternatively, modem 4 may receive communications from a different network than STBs 2. Modem 4 may be connected to a in home router 5, such as via Ethernet port connections, wireless connection or other suitable connection. Router 5 may be connected to a content mover device 7 via an Ethernet connection, a wireless (WiFi), USB data, or other suitable type of connection.

The router 5 may communicate with STB 2 via an Ethernet, Universal Serial Bus USB, wireless (WiFi) or other suitable type of connection. The router 5 may be directly connected to STB 2 or via another device, such as a MoCA bridge (not shown) which may connect to the STB via communication carrier 1. Router 5 may communicate directly with STB 2 via an Ethernet connection, connecting a plurality of STBs to each other, which may also serve as the communication carrier 1. Router 5 may provide a hardwired or wireless connection (e.g. a WiFi connection) to a portable device 6, such as a mobile phone, portable media player, laptop, PC, tablet, etc.

FIG. 2 illustrates an alternate arrangement for a home network using a content mover device in accordance with the principles of the invention. FIG. 2 is similar to the arrangement in FIG. 1, with similar components bearing the same reference number. However, in Fig. content mover device 7 is connected directly to STB 2 rather than connected through router 5. Content mover device 7 may be connected via an Ethernet, USB, wireless (WiFi or Bluetooth) connection, or any suitable connection. Router 5 may be connected to the content mover device 7 via an Ethernet connection, a wireless (WiFi), USB data, or other suitable type of connection.

FIG. 3 illustrates an exemplary architecture of a content mover device 7 in accordance with the principles of the invention. As illustrated in FIG. 3, content mover device 7 may include a media server 71 with a transcoder module 72. A device manager 73 may be included to control the operations of content mover device 7. A portable device interface unit 74 may be provided to communicate with a desired portable device. The portable device interface unit 74 may include modules for controlling file access, such as XFF or a file allocation table (FAT), SD card access control. Wireless interfaces, e.g. Bluetooth including FTP and CPP modules may be used, as well as a WiFi module with Digital Living Network Aliance (DLNA)/Universal Plug and Play (UPnP) Content Directory Service (CDS), TCP/IP and HTTP protocols. A host interface module 75 may include a USB slave, CDC, TCP/IP, HTTP server, and Simple Object Access Protocol (SOAP) interface modules. A storage controller 76 may be included to control access to attached or internal storage.

An external storage can also be attached to content moving device via, for example, USB or Serial Advanced Technology Attachment (SATA) or SD Card interface, This storage device may be shared with Set Top Box or other devices on the network.

Mover can also access the storage media, internal or external to other devices, like DVR. It can use those to store back the transcoded content. This can be done in addition to or in place of the storage internal to content moving device. The external storage can also be used as an extended storage size or to do long term archiving of the content.

FIG. 4 illustrates an exemplary architecture for a host module 21 contained in STB 2 for interacting with content mover device 7 in accordance with the principles of the invention. As illustrated, the host module 21 may include a host application controller 22, a mover module 23 containing a platform for controlling SOAP, TCP/IP, CDC, and USB Slave modules. A PTP module 24 with a USB host interface controller may also be included.

FIG. 5 illustrates an exemplary architecture for a portable device in accordance with the principles of the invention. A illustrated, portable device 6 may include a media player controller 61, a mover/STB interface module 62, a FAT SD card module 63 for controlling file access, such as a file allocation table (FAT), SD card access control. Wireless interface modules 64, e.g. Bluetooth including FTP and CPP modules may be used, as well as a WiFi module 65 with UPnP CDS, TCP/IP and HTTP protocols. A host interface module 66 may include a USB slave and PTP modules.

Table 1 provides an overview of exemplary system configurations for content mover device 7. A indicated, video, audio and packaging (container) formats may be changed on an input stream to a different formats on the output stream. Categories for changing may include: video format, resolution, bit rate, and frame rate; audio format, bit rate, and channels; and container formats.

TABLE 1 overview of system configurations Media Category Input Output Video Format AVC/H.264 Main, High & Baseline Profile AVC/H.264 Main, High & Baseline Profile, MPEG-2 MPEG-2 AVC/H.264 Baseline, Main & High Profile, MPEG-2 Resolution HD (1080p, 1080i, 720p) HD, ED/SD, ½ VGA, HVGA, QVGA, CIF, HCIF, QCIF ED/SD/WVGA (480i, 480p, 576i, 575p) ED/SD, ½ VGA, HVGA, QVGA, CIF, HCIF, QCIF Bit Rate up to 20 Mbps 25 Mbps down to 64 Kbps Frame Rate Interlaced: 30, 25 fps Can be lower than input (if desired, as may be the case for Progressive: 60, 30, 50, 25, 24 fps some mobile phones) (can not support 1080p60) Audio Format AC3, MPEG-2 Audio MP3, AAC-LC, AAC-HE Bit Rate up to 320 Kbps up to 320 Kbps Channels 5.1 5.1, 2.0 2.0 2.0 Container Format MPEG-2 TS, MP4 MPEG-2 TS, MP4

The content moving device may check for not only new content recordings on a regular basis but also any DVR deletions as well. Any change in the DVR is mirrored in the content moving device's own storage/memory. The content moving device may handle all the issues relating to copy management and obey the digital rights associated with the DVR recording, such as obeying copy once restrictions of the original broadcast program.

However, an advanced user may want to have more control on managing how and which content is transcoded, stored and deleted on Mover. For such user an option is provided to prioritize which content is more important, which one is deleted as the memory in the content moving device gets filled up. For example, he can set the priority based on episode, series or genre etc. Content can also be selected individually and provided the desired priority by the user. An option is provided for a user go to deeper layer of interaction to personalize the behavior of Mover to his liking. This personalization can be done via the interface on the mobile device, a PC or similar device connected on the network with access to content moving device or through Set Top box and TV.

If the network consists of multiple DVRs, the content mover device can ping-pong between those DVRs or select the transcoding priority order from the most recent to the last stored content among those DVRs, and effectively perform a mirroring operation. For mirroring operation. A user can also modify the default setting by either giving some content higher priority over others. This can be done by either setting the priority a-priori or setting it dynamically by the user by requesting from the end device the content that needs to be transferred.

The communication between the content mover device, PMP and DVR on the user's home network may be established through a discovery process, such as using UPnP. For example, the content mover device and/or PMP may use UPnP to discover any DVR on the local home network. The content mover device and/or PMP may identify server devices (i.e. DMS) and selects the DVR(s). If there are other source devices such as PCs, the content moving device/PMP may exclude them from future content discovery.

There may be more than one DVR in the home network. If that is the case, in one implementation, only one DVR may be configured as the Home key distribution center (KDC). That is the one that all other devices (content mover device and PMPs) will provision using IPRM provisioning.

In a preferred implementation, the content mover device 7 transcodes DVR content and stores the transcoded content on a storage associated with the content mover device 7. Those of skill in the art will appreciate that the DVR is preferably connected to the content mover or home network to share content with content mover device, the content mover device is connected to the home network and is turned on, and the content mover device has been configured with the DVR. The content mover device and the user's PMP are also preferably configured accordingly (e.g. default content resolution and format).

The mover device may be suited to operate with multiple PMP devices as well as multiple DVRs, e.g. by registering multiple PMPs with the mover device. The mover device 7 may include a device profile database which identifies desired content characteristics of a particular PMP, for example. The mover device 7 may determine the identity of a PMP requesting content, and provide transcoded content to the PMP according to the characteristics in the device profile database.

FIG. 6 illustrates an exemplary process for moving content from a DVR 2 to the content mover device 7 in accordance with the principles of the invention. The content mover device manager performs a content selection process for new content on the DVR 2, step S1. The content mover device manager 73 may check for new content on the DVR 2, step S1, such as by requesting a list of recordings from the DVR host application 22. The mover device may check for new content on the DVR at predetermined time periods, e.g. periodically every 5 minutes, every hour, once a day, etc., the length of time in the periods may be preset in the mover device, programmable by a remote network, or set by a user. The mover may also or alternatively check for content based on an event at the DVR or STB associated with the DRV. For example, the DVR may provide a notification to the mover device when a recording is started, a deletion occurs or a recording or deletion event has been scheduled. The content mover device manager 73 may compare the list with a list of already transcoded content on the content mover device 7. The content mover device manager 73 may select one content item from the DVR, step S3 and requests the selected content for transfer. The selection of the content may be based on a user selection, or based on a preconfigured algorithm as a candidate for transcoding.

A transcode priority may be assigned to the selected content, step S3. While the transcode priority is illustrated as a separate step from the content selection, such illustration is merely for discussion purposes. The transcode priority may be assigned in connection with the selection process or as a separate step. The content mover device manager 73 may compare the list of content on the DVR with a list of already transcoded content on the content mover device 7. The content mover device manager 73 may select a new recording, based on an assumption that the newest recording may be of highest interest to the user. In this approach, the newest recordings may be given a higher priority for transcoding. Whenever a user selects a program not on the content moving device, its priority is raised to the top, and transcoded immediately. The consumer however may need to wait for the content to be transcoded to be completed.

An intelligent learning algorithm may be used in addition to a time factor or newness of the content. It may be possible to include characteristics of the type of recordings the consumer enjoys the most. By observing the content genre and content series that the consumer transfers to his PMP or mobile device, programs matching the genre or series name can be raised in priority. Recent recordings may still be given a higher priority. An example of one assignment of a priority level may be:

-   -   a—mirror DVR if possible, e.g. transcode all content;     -   b—users' selection as the highest priority for any content not         already stored within the moving device;     -   c—take any recording less than X days old, e.g. 7 days old;     -   d—take any recording matching a series of content transferred by         the consumer in the past Y days, e.g. 14 days; and     -   e—take any recording matching a genre of content transferred by         the consumer in the past Z days, e.g. 14 days.

Within any of the priority groups above, finer priority levels may be applied within. For example, the newest content within the content level may be transcoded first, then the next newest and so on. As another example, HD recordings may be transcoded first, then SD recordings may be transcoded. HD recordings typically take the longest to transcode, so by taking these first, the desired SD recordings may be quickly transcoded, i.e. to increase the chance that any “cache miss” desired by the consumer, and requested in (b) above, takes less time to transcode, thus requiring less waiting time for the consumer. In the same manner, if one program is transcoded slower than another for any reason, it may take precedence over the faster-to-transcode program. If a user receives both HD & SD versions of a specific channel, then choose SD. For, example, if the content mover device were able to transcode HD content at a faster rate than SD content, then HD content may be preferred, e.g. HD at 1 Mbps and SD at 500 kbps. This would involve talking back to the DVR.

The content stored on the DVR 2 may have certain protections such as DRM restrictions, accordingly, content mover device manager 73 determines whether and how the content is protected, step S7. If the content is protected, the content mover device uses the content protection technology specified in the CDS to obtain decryption keys and content rights from the DVR. Content mover device manager 73 determines the format and resolution on the incoming content and selects the format and resolution for the transcoded content based on the PMP(s) that have been configured on the content moving device, step S7. For example, with reference to table 1, content with an audio format of AC3 may be transcoded to an MP3 format. Content moving device 7 transcodes the content from the DVR 2 into the identified formats and resolution, step S9. The transcoding process may include decoding at transcoder 72 the incoming content in its existing format and re-encoding the content in a desired format.

If the content is to be further protected after transcoding, the content mover device manager 73 determines encryption keys and resulting rights for the transcoded content, step S11. If the content is encrypted on the DVR, after requesting content from the DVR, the content mover device 7 decrypts portion of the content, transcodes portion of the content, and encrypts the transcoded portion of the content. The transcoded encrypted content and non-encrypted content is stored in a local storage associated with the content mover device 7 via storage manager 76, step S13. Protected content may be limited by copy protection constraints: a. encrypted “copy-free” content with restrictions (e.g. ENR, RCT, CGMS-A) may be copied to the content moving device, b. “copy-once” content (i.e. marked as “copy-no-more” on the DVR) can only be “moved” (instead of copied) to the content moving device. Unprotected copy-free content may be copied to the content mover device within proximity.

In a scenario in which multiple PMPs are associated with the content moving device (e.g. by being registered with the PMP), a priority schedule may be established for each PMP, and saved in a memory on the content mover device. The priority level for content may be set based on another PMP's interaction with content, and DRM requirements associated with the content. For example, if the DVR content was originally restricted as “copy once” and, therefore, marked as “copy no more” after transcoding on the content mover device, the transfer to the PMP may be a “move” rather than a “copy”, e.g. not retaining the content on the content mover device. In due time, the content moving device will preferably check the DVR, see that this content is still on the DVR and not on the content moving device, and will transcode and store the protected content again. If a second PMP or mobile device comes along, and chooses this same content, the protected content is preferably transferred, and deleted from content moving device again. Accordingly, as a plurality of the PMPs (e.g. all of the PMPs or all of the PMPs permitted to view the content due to content rating) associated with the content mover device have already viewed the content, the protected content is preferably marked as a very low priority, essentially at the bottom of the list.

Another copy related priority assignment factor may involve content that can only be copied during its recording, or shortly thereafter (e.g. “real time copy” DRM designation). Such content is copy once at or near its time of recording, and copy no more otherwise. Thus content designated as real time copy which is being recorded on the DVR is preferably assigned the highest priority for transcoding, which may be even above the consumer's own selection. For example, content which is so designated may be so designated may only be permitted to be provided to the content mover device to be transcoded within a period of time close to the content presentation time and a period of time after presentation, e.g. during the presentation time and 90 minutes afterwards on a received byte by byte basis. Further in a scenario in which multiple PMPs are associated with the content mover device, multiple transcoded copies may be made within this limited window, one for each PMP.

Multiple transcoded copies may be made by copying transcoded content, or transcoding the content multiple times depending on the DRM requirements associated with the content. In the instance of transcoding the content multiple times, the transcoder operation may include more than one actual transcoders or repetitive use of a single transcoder (e.g. serial operation on a content or content segment basis). In one option, a content provider, e.g. Disney, Inc., may allow recording for 90 minutes for each real time received byte. In this case, for events of 90 minutes duration or less, we have only to start the second transfer before the first is over and transcode faster than real time to catch up to the real time content presentation. In the less preferred case, the copy permission may be tightly bound to real-time, e.g. an after content presentation copying time is not permitted. In this case, we may need to do two parallel transcodes in real time, and thus the HD transcoder may be required to transcode at a 2× speed.

The DVR content may be provided to the content mover device 7 and processed by the content moving device as an entire content file or in discrete portions or segments of content. For example, a segment of video may be decoded, re-encoded and stored prior to the next segment. Process may repeat to receive segments until entire file has been transferred, transcoded and stored on the storage associated with the content mover device.

The content mover device 7 may repeat steps S1-S13 for each content of interest on the DVR until the list of candidates is empty or the content mover device 7 associated local storage is full.

In some implementations, the content mover device 7 may be configured to request content from DVR 2 at set predetermined intervals. The set predetermined times may be chosen by the user, set within the content mover device 7 at the time of manufacture, or determined by the content mover device 7 in connection with historical time periods of a user for requesting content from the content mover device 7, as periods of low activity on the DVR. The content mover device 7 may set a local timer to wake up and check for new recorded content on the DVR.

In some implementations, the content mover device may transcode virtually all of the content stored on the DVR, so as to effectively create a mirror image of the DVR stored content.

A user interface (UI), such as such as a display (e.g. touch screen display) and input device (e.g. keypad or pointer), a web page, a local computer interface, use of a television remote and attached television display, or use of an a UI via an attached PMP (e.g. smart phone) may allow users to manually set parameters for the content moving device. The user interface may allow the user to manually set the series names that should have priority (e.g. no matter how old), or the program genres. If set, such a priority replaces the automatic processes steps (a-d) shown above. The consumer can also adjust the default times described above, of X (e.g. 7) days, and Y (e.g. 14) days. The consumer might also connect the ‘learning’ behavior to a specific PMP or mobile device, rather than all such devices to which the content moving device may be connected. The content moving device may be provided a priority device or elects a priority device based on the input from the UI. The consumer may also disable the intelligent algorithm entirely, and run the basic algorithm via the web interface. The web interface may be implemented by a network connection provided to the content mover device associated with a server connected on the web.

The user may also be allowed to enter or set of default ratings acceptable to the user, e.g. a ratings ceiling, on content transfers to the PMPs, for parental control of the user PMPs or other PMPs associated with the user (e.g. a child's PMP associated with a parent's PMP associated with the content mover device). The content ratings may also be used in the priority assignment processes discussed above. For example, in one implementation, content that is restricted via a content rating may fall to the bottom of the algorithm priority, as it is less useful to the mobile devices in the home network, as a whole.

It also may be possible for a fully automated content moving device to support non-homogeneous devices, such as the laptop PC or tablet. A laptop has a larger screen than a typical PMP, so might support content of higher resolution. Such support could entail transcoding multiple versions of the DVR content, thus consuming even more memory resources in the content moving device. Content mirroring may become even more difficult, perhaps even with a small hard drive. Thus the automated algorithms mentioned above can be enhanced to observe the transfers to each type of device, and track them separately. For example, a mobile smart phone may be one category, and a laptop may be another. Since such devices may be used by a single individual.

Content series and genre elements of the algorithm can be followed separately for the two types, and essentially manage the two queues of DVR mirroring separately. Memory allocation between the two can also be set in an automated fashion. For example, if a PC takes VGA resolution and mobile phones take half VGA, and thus half the storage per program, the PC queue can be allocated ⅔ of the total to start. However, the content moving device may track the actual transfers themselves. If the content moving device may observe two mobile devices and one laptop, or if the content moving device observes more net transfers, more usage, from the mobile devices, it can move the memory allocation boundary to store more content for the mobiles. In other words, the content moving device may be able to minimize the “cache misses” that it observes over time.

Furthermore, the content mover device may build an “experience” database indicating content requested by the PMPs to be transferred from the content mover device associated therewith. The experience database may retain a list of content selected by the user's PMP, indicating a content genre or series and time of transfer, e.g. transfer of news content every morning from Monday through Friday. The database may be used to identify other content recorded on the DVR to transfer with a higher priority similar to the genre of content requested to be transferred to the PMP. Higher priority may be given to a series recordings rather than single event recordings. DVR recorded content of the same series as content which was transferred or requested by the user may also be given a higher priority. One or more predetermined transfer periods, such as a week, two weeks, month, etc, may be used to assign higher or lower priority levels to the candidate content, e.g. a week being a higher level for a series or similar genre, and a month be a lower level. In this manner, it could keep track of how many episodes of a certain series have been downloaded by the user to assign a priority level to the content series. For example, new episodes of more popular (downloaded more often) series could get a preferential treatment when deciding what to transcode. Similar intelligence could be applied to genre (assuming this comes with appropriate metadata to identify the genre). This preference control can also be set via the web page configuration screen.

Another example of a priority level assignment, in order from highest to lowest, may be:

-   -   real time recording required;     -   selection for any content not already stored within the moving         device;     -   newer recordings, take any recording less than X days old, e.g.         7 days old;     -   series recordings, take any recording matching a series of         content transferred by     -   the consumer in the past Y days, e.g. 14 days;     -   genre recordings, take any recording matching a genre of content         transferred by the consumer in the past Z days, e.g. 14 days;     -   user experience;     -   ratings restrictions; and     -   previous transfer of content item to PMPs.

The content mover device 7 may also receive content from a portable media player (PMP). Those of skill in the art will appreciate that the PMP and content mover device are configured to communicate with each other and the PMP is provisioned to the user's home network.

FIG. 7 illustrates a process for transferring content from the content mover device 7 to a PMP in accordance with the principles of the invention. As illustrated, a transfer request may be made by the PMP and received by the content mover device, step S20. For example, a user may activate a “DVR Sync” application running on the PMP to initiate the process. A list of transcoded content stored by the content mover device may be made available to the PMP for selection, step S22, to enable the PMP to discover a list of transcoded content items on the content mover device.

FIG. 8 illustrates an exemplary display on a PMP for content selection. As illustrated, PMP 6 preferably includes a display which displays the transcoded content available for download 62 on to the PMP 6 from the content mover device. Once content is selected for download, an icon may be shown indicating the download status 61.

This list may optionally include DVR content that has not been transcoded (e.g. due to limited content moving device local storage space). The non-transcoded list my be a list constructed in real-time by getting a fresh list from the DVR or it may be a snapshot from the last time the content moving device requested the list from the DVR. The PMP may compare the list with a list of already transferred content in local storage and select one content item from the content mover device based on a preconfigured algorithm as a candidate for transfer, and provide the selection to the content mover device, step S24.

If the content is protected, e.g. with encryption, the PMP may be provided with the decryption keys and any DRM rules associated with the content, step S26. If IPRM is used, this may require the PMP to request a ticket from the content mover device or the DVR prior to accessing the content. The PMP may create a local DRM license with the decryption key and rights. For example, if the DVR content was originally restricted as “copy once” and, therefore, marked as “copy no more” after transcoding on the content mover device, the transfer to the PMP may be a “move” rather than a “copy”.

FIG. 9 illustrates an exemplary display of content details on a PMP. As illustrated in FIG. 9, additional details related to the content may also be displayed with the content on PMP 6. Additional details 63, may be carried in meta data associated with the content. The additional details may include a description of the content, a rating, run time, channel name and number, file size, actors in the content, etc. A download selection button 65 may be provided to enable a user to request transfer of the content from the mover device.

FIG. 10 illustrates a down load queue on the PMP 6. Multiple items of content 68 may be selected for download at one time, and a download queue may be established. A download status indicator bar 66 may be displayed to indicate the progress of the download operation.

In step S28 of FIG. 7, the content mover device provides the requested content to the PMP. If DTCP-IP is used, the PMP may decrypt the content. The PMP may encrypt and store the received transcoded content in a local storage associated with the PMP. The steps in FIG. 7 may be repeated for each requested content. In the above manner, PMP may have all (or a subset) of the content mover device's transcoded content items in its local storage ready to be watched locally on the PMP.

Once the PMP has the content, it may play the content without being connected to the user's home network. The user may play the content by starting a “DVR to go” application. In on implementation, the PMP may list all content items transferred from the content mover device, for user selection. Once the selection is made, the PMP determines DRM rules and the content decryption key if the content is encrypted. The playback of the content may include fast forward, rewind, pause, etc. The PMP decrypts, decodes and renders the content for consumption by the user, and may update any metadata associated with the content. Once the user finishes watching the content, the PMP may mark the content as “watched”. The watched content may be deleted by instruction from the user or marked as a candidate for deletion if there is not enough space to transfer more content later.

The content mover device 7 may need to delete stored transcoded content to free up storage space for new content. When content moving device's memory is full or close to getting full, e.g. 95% full, it needs to delete some of the transcoded content. It can be done based on the rules set by the user or the service provider or the default setting. An example of default setting is that the content corresponding to the oldest one stored on DVR is deleted from the content moving device's memory first. Another example is that the content that is allowed to be copied freely and transferred to an end device is deleted first. Between HD and SD content, the HD content may be given higher priority by the user or the service provider.

The content which has been stored on the DVR for the longest amount of time (e.g. the oldest content on the DVR) may be given a high deletion priority, e.g., selected for deletion from the content mover device first. However, content which is recently transcoded by the content mover device, even if it is among the oldest content on the DVR, may be given a lower deletion priority or given a deletion window exception (e.g. 1 day or 1 week for no deletion) so it is not deleted shortly after being transcoded. Alternatively, content which has been stored on the content mover device for the longest amount of time (e.g. the oldest transcoded content) may be given a high deletion priority, e.g., may be selected for deletion first.

The deletion of content on the content mover device may blindly follow the DVR settings for deletion of content on the DVR e.g., if a user sets “keep until only deleted by user” settings on his/her DVR, then the content mover device follows the same. Which means, even though it is an older recording, it shall not be deleted. In another scenario, the content mover device may intelligently follow the DVR Settings, wherein the content mover device may delete the “keep until only deleted by user” first (e.g. under the assumption that this DVR content would be always available for transcoding and can be re-transcoded when space is available). If the user has downloaded the transcoded content from the content mover device to his/her device, then set a flag in the local database i.e. the user has consumed the content and hence it “can be deleted”.

The transcode priority levels assigned to the content in transcoding the content may be used to establish a deletion priority. For example, content designated (e.g. marked) as a low transcode priority may be deleted first, by deleting the oldest content in this priority level first, and deleting the newest content in this level last. All of the low priority content may be deleted prior to deleting content marked with a medium and high priority. The priority designation of the transcoded content on the content mover device may changed from a high to a low, for example once the content is provided to the PMP, so the content may be deleted earlier. Doing so may avoid consuming memory space unnecessarily.

In one implementation, the content mover device may allow the user to select content for deletion via a UI, such as one discussed above. In one implementation, the content mover device may not have a user interface in which a user may select the content to be deleted. The content mover device may use certain parameters to decide which content to delete when new content needs to be transferred from the DVR. This process may include decision attributes such as:

1. delete based on priority designation;

2. oldest content is deleted first;

3. content deleted from the DVR may be deleted from the content moving device as well;

4. content already transferred to the PMP may be deleted;

5. SD content may be deleted before HD content (due to speed of transcoding HD content); and/or

6. keep only last 3 episodes of any series

The PMP may also perform content deletion operations to make more storage space available for newly transcoded content to be transferred from the content mover device. This could be done automatically based on the user preferences or explicitly by the user via the user interface.

When a particular recording is deleted on the DVR, the content moving device may also delete the transcoded content. The content moving device may ignore that fact and keep the transcoded copy available for further copying to PMPs. The copy on the content mover device may be removed using a regular storage cleanup approach as discussed above. Alternatively, the content moving device may try to represent a mirror image of the DVR recordings, e.g. the content moving device may delete the content as well. Content to be deleted may be determined by comparing the latest list of content from the DVR with the list of content on the content moving device. Any content item found in the content moving device and not in the DVR's list may be deleted.

If the network consists of multiple DVRs, then default setting may be that the content that is oldest content among those DVRs is deleted first, and effectively perform a mirroring operation. The content mover device can ping-pong between those DVRs or select the deletion priority order from the last stored to most recent content among those DVRs. A user can also modify the default setting by either giving some content higher priority over others. This can be done by either setting the priority a-priori or setting it dynamically by the user by requesting from the end device the content that needs to be transferred.

The content moving device is not only capable to take the content out of a STB for consumption on other devices, it can also take the content from other devices for consumption by a set top box, TV or other devices connected to STB or content moving device via Internet. For example, it can accept and video captured by a video camera of a digital camcorder or a mobile phone, convert it to the format decodable and playable by Set Top box for display on a TV, or decodable and playable by a portable device connected to content moving device by in-home network or Internet. It can also adjust the resolution and bit rate of the video to lower the bandwidth required to send the content on the internet. That content can be consumed by other users far away or loaded on social networking web sites.

Some or all of the operations set forth in FIGS. 6 and 7 may be contained as a utility, program, or subprogram, in any desired computer readable storage medium, which may be a non-transitory medium. In addition, the operations may be embodied by computer programs, which can exist in a variety of forms both active and inactive. For example, they may exist as software program(s) comprised of program instructions in source code, object code, executable code or other formats. Any of the above may be embodied on a computer readable storage medium, which include storage devices.

Exemplary computer readable storage media include conventional computer system RAM, ROM, EPROM, EEPROM, and magnetic or optical disks or tapes. Concrete examples of the foregoing include distribution of the programs on a CD ROM or via Internet download. It is therefore to be understood that any electronic device capable of executing the above-described functions may perform those functions enumerated above.

What has been described and illustrated herein are embodiments of the invention along with some of their variations. The terms, descriptions and figures used herein are set forth by way of illustration only and are not meant as limitations. Those skilled in the art will recognize that many variations are possible within the spirit and scope of the embodiments of the invention.

The content mover device enables a user to conveniently and efficiently move user recorded content from one user device (e.g. a DVR) to another user device (e.g. PMP). The content mover device performs the often time consuming and computationally intensive task of transcoding content stored on the first device in a first format into a second format usable by the second device. The transcoding operation may be performed automatically independent of a request for the content by the PMP. The content mover device may efficiently manage memory space to be able to provide desired content to the user.

Although described specifically throughout the entirety of the instant disclosure, representative embodiments of the present invention have utility over a wide range of applications, and the above discussion is not intended and should not be construed to be limiting, but is offered as an illustrative discussion of aspects of the invention. 

1. An apparatus for moving content from a first user device to a second user device, comprising: a first device interface configured to receive content in a first format from the first user device; a device manager configured to assign a priority level to a candidate content; a transcoder configured to transcode candidate content by decoding the candidate content in the first format as decoded content and encoding the decoded content into a second format compatible with the second user device as transcoded content; a storage unit which stores the transcoded content; and a second device interface configured to provide transcoded content to the second device, wherein the candidate content is transcoded prior to other candidate content based on the assigned priority level of the candidate content.
 2. The apparatus of claim 1, wherein the priority level is assigned based on user input.
 3. The apparatus of claim 2, wherein user input includes user selection of the candidate content through a user interface, the user interface including one of, a web page, a computer interface, television remote, a portable media player, touch screen display, keypad or pointer device.
 4. The apparatus of claim 1, wherein the priority level is assigned based on rights management rules associated with the candidate content.
 5. The apparatus of claim 1, wherein the priority level is assigned based on a type of content of the candidate content, the type of content including genre or content series.
 6. The apparatus of claim 5, wherein the priority level assigned based on a type of content is assigned based on user selection of transcoded content to be transferred to the second device.
 7. The apparatus of claim 1, wherein the priority level is assigned based on a rating associated with the candidate content.
 8. The apparatus of claim 1, wherein first device includes a plurality of storage devices, and the priority level is assigned based on the amount of time the candidate content has been stored relative to other content stored on any storage device of the plurality of storage devices.
 9. The apparatus of claim 1, wherein the transcoded content is deleted from the storage unit based on one or more of: the assigned priority level, an amount of time the transcoded content has been stored, an amount of time the candidate content has been stored, or settings in the first device.
 10. A method for moving content from a first user device to a second user device using a content moving device, comprising the steps of: the content moving device assigning a priority level to candidate content on the first user device in a first format to be moved to the second user device; receiving the candidate content from the first device; transcoding the candidate content by decoding the candidate content in the first format as decoded content and encoding the decoded content into a second format compatible with the second user device as transcoded content; storing the transcoded content in a storage associated with the content moving device; wherein the candidate content is transcoded prior to other candidate content based on the assigned priority level of the candidate content.
 11. The method of claim 10, wherein the priority level is assigned based on user input.
 12. The method of claim 11, wherein user input includes user selection of the candidate content through a user interface, the user interface including one of, a web page, a computer interface, television remote, a portable media player, touch screen display, keypad or pointer device.
 13. The method of claim 10, wherein the priority level is assigned based on rights management rules associated with the candidate content.
 14. The method of claim 10, wherein the priority level is assigned based on a type of content of the candidate content, the type of content including genre or content series.
 15. The method of claim 14, wherein the priority level assigned based on a type of content is assigned based on user selection of transcoded content to be transferred to the second device.
 16. The method of claim 10, wherein the priority level is assigned based on a rating associated with the candidate content.
 17. The method of claim 10, wherein the transcoded content is deleted from the storage unit based on one or more of: the assigned priority level, an amount of time the transcoded content has been stored, an amount of time the candidate content has been stored, or settings in the first device.
 18. A non-transitory computer readable medium carrying instructions for a computer to perform a method for moving content from a first user device to a second user device using a content moving device, comprising the steps of: the content moving device assigning a priority level to candidate content on the first user device in a first format to be moved to the second user device; receiving the candidate content from the first device; transcoding the candidate content by decoding the candidate content in the first format as decoded content and encoding the decoded content into a second format compatible with the second user device as transcoded content; storing the transcoded content in a storage associated with the content moving device; wherein the candidate content is transcoded prior to other candidate content based on the assigned priority level of the candidate content.
 19. The computer readable medium of claim 18, wherein the priority level is assigned based on user input.
 20. The computer readable medium of claim 19, wherein user input includes user selection of the candidate content through a user interface, the user interface including one of, a web page, a computer interface, television remote, a portable media player, touch screen display, keypad or pointer device.
 21. The computer readable medium of claim 18, wherein the priority level is assigned based on rights management rules associated with the candidate content.
 22. The computer readable medium of claim 18, wherein the priority level is assigned based on a type of content of the candidate content, the type of content including genre or content series.
 23. The computer readable medium of claim 22, wherein the priority level assigned based on a type of content is assigned based on user selection of transcoded content to be transferred to the second device.
 24. The computer readable medium of claim 18, wherein the priority level is assigned based on a rating associated with the candidate content.
 25. The computer readable medium of claim 18, wherein the transcoded content is deleted from the storage unit based on one or more of: the assigned priority level, an amount of time the transcoded content has been stored, an amount of time the candidate content has been stored, or settings in the first device. 